package expoftime

import (
	"fmt"
	"time"
)

// var s1 = "2024/03/28 9:30:00 +0800"
// var err error
// var t time.Time

// func Tnew() *time.Time {
// 	t, err = time.Parse("2006/01/02 15:04:05 -0700", s1)
// 	return &t
// }

// func Bfeight(nt *time.Time) time.Time {
// 	return nt.AddDate(-8, 0, 0)
// }

// func Mitimestamp(pt *time.Time) int64 {
// 	return pt.UnixMilli()

// }

// 定义时间格式
var layout = "2006/01/02 15:04:05 -0700"

// 生成今天的早上9点30分
func newst() string {
	var y, m, d = time.Now().Date()
	var mm = int(m)
	var st string
	if mm > 9 && d > 9 {
		st = fmt.Sprintf("%d/%d/%d %s", y, mm, d, "09:30:00 +0800")
	} else if mm <= 9 && d > 9 {
		st = fmt.Sprintf("%d/0%d/%d %s", y, mm, d, "09:30:00 +0800")
	} else if mm <= 9 && d <= 9 {
		st = fmt.Sprintf("%d/0%d/0%d %s", y, mm, d, "09:30:00 +0800")
	} else if mm > 9 && d <= 9 {
		st = fmt.Sprintf("%d/%d/0%d %s", y, mm, d, "09:30:00 +0800")
	}
	return st
}

// 生成8年前的时间指针
func Bfeight() *time.Time {
	t, _ := time.Parse(layout, newst())
	t8 := t.AddDate(-8, 0, 0)
	return &t8
}

// 格式化输出，针对4.2
func BfeightFormat(t *time.Time) string {
	return t.Format(layout)
}

// 4.1
func Needstamp() int64 {
	return Bfeight().UnixMilli()
}

// 4.3
func Needweekday(t *time.Time) {
	_, wk := t.ISOWeek()
	fmt.Printf("那天是周%d,到那天本年已经过了%d周\n", t.Weekday(), wk-1)
}

// 4.4
func Tonowday(t *time.Time) float64 {
	delta := (time.Now()).Sub(*t)
	return delta.Hours() / 24
}

func Test() time.Time {
	return time.Unix(Needstamp()/1000, 0)
}
